package com.sdy.resdir.biz.model;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.sdy.common.model.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sdy.common.utils.DateUtil;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 自建系统
 * </p>
 *
 * @author hyh
 * @since 2019-10-24
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value = "RdSelfBuiltSystem对象", description = "自建系统")
public class RdSelfBuiltSystem extends BaseModel {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    @TableId
    private Integer id;

    /**
     * 自建系统名称
     */
    @ApiModelProperty(value = "自建系统名称")
    private String sysName;

    /**
     * 自建系统代码
     */
    @ApiModelProperty(value = "自建系统代码")
    private String sysCode;

    /**
     * 自建系统描述
     */
    @ApiModelProperty(value = "自建系统描述")
    private String sysDescribe;

    /**
     * 自建系统状态:0-正常 1-作废
     */
    @ApiModelProperty(value = "自建系统状态:0-正常 1-作废")
    private Integer sysState;

    /**
     * 自建系统关联用户id
     */
    @ApiModelProperty(value = "自建系统关联用户id")
    private Integer userId;

    @ApiModelProperty(value = "部门id")
    private Integer deptId;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = DateUtil.DATETIME_FORMAT)
    private Date updateTime;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间 ")
    @JsonFormat(pattern = DateUtil.DATETIME_FORMAT)
    private Date createTime;

    /**
     * IP地址
     */
    @ApiModelProperty(value = "ip地址 ")
    @TableField(exist = false)
    private List<RdSystemIp> ipList = new ArrayList<>();

    /**
     * ip集合
     */
    @ApiModelProperty(value = "ip集合 ")
    @TableField(exist = false)
    private List<String> ipBatch = new ArrayList<>();

    /**
     * 被删除的ip集合
     */
    @ApiModelProperty(value = "被删除的ip集合 ")
    @TableField(exist = false)
    private List<String> delIdList = new ArrayList<>();

}
